package com.cgtong.android.mvp.contract;

import com.cgtong.android.bean.UserBean;
import com.cgtong.android.http.callback.BaseCallBack;
import com.cgtong.android.http.callback.FollowCallBack;
import com.zhouyou.http.exception.ApiException;
import com.zhouyou.http.model.ApiResult;

import java.util.List;

/**
 * Created by chunc on 2017/10/26.
 */

public interface UserFollowedContract {
    interface Model {

        void httpUserollowedData(long maxId, String keyValue, BaseCallBack<List<UserBean>> baseCallBack);

        void follow(long id, FollowCallBack<ApiResult> followCallBack);

    }

    interface View {

        void setRefreshing(boolean isRefresh);

        void setEnableLoadMore(boolean enableLoadMore);

        void onLoadMoreEnd(boolean isLoadMoreEnd);

        void onError(ApiException e);

        void onNullData();

        void onHttpUserFollowedDataSuccess(List<UserBean> datas, boolean isRefresh);

        void onFollowSuccess(long id, int position, ApiResult result);


    }

    interface Presenter {

        void httpUserFollowedData(long maxId, String keyValue, boolean isRefresh);


        void onDestroy();

        void follow(long id, int position);

    }
}
